#include <iostream>
#include <stdio.h> //-->getchar
#include <string.h>

using namespace std;

///hàm hoán đổi 2 số a và b
void swap(char &a, char &b){
    char t = a;
    a=b;
    b=t;
}



///Hàm đảo ngược chuỗi s. Hàm này tuy phức tạp nhưng cũng có nét hay riêng, các bạn nên tham khảo
string daoChuoi2(string s){
    int start = 0;
    int end = s.length()-1;

    while(start<end)
        swap(s[start++],s[end--]);

    return s;
}


///Hàm đảo ngược chuỗi s, cách làm đơn giản, dễ nhớ
string daoChuoi1(string s="abcd"){
    string s2="";
    for(int i=s.length()-1;i>=0;i--)
        s2.insert(s2.length(),1,s[i]);
    return s2;
}


///Hàm kiểm tra đối xứng, nếu đối xứng thì trả về 1, ngược lại trả về 0
int kiemTraDx2(string s){
    string revS=daoChuoi1(s);
    if(revS==s)
        return 1;
    return 0;
}



///Hàm kiểm tra đối xứng, nếu đối xứng thì trả về 1, ngược lại trả về 0
///Kết hợp giữa dữ liệu string và char *
int kiemTraDx1(string s="abcd"){
    const char * s2= s.c_str();/// s2="abcd"
    char c[100];
    strcpy(c,s2);///c = s2 = "abcd"

    strrev(c);///c="dcba";

    if(strcmp(c,s2)==0)
        return 1;
    return 0;
}



///Hàm kiểm tra đối xứng, nếu đối xứng thì trả về 1, ngược lại trả về 0
///Dùng hoàn toàn kiến thức C
int kiemTraDx_C(char s[100]){
   char c[100];
   strcpy(c,s);
   strrev(c);
    if(strcmp(c,s)==0)
        return 1;
    return 0;
}



int cau1(){

    if(!freopen("input.inp","r",stdin))
        return 0;
    if(!freopen("output.out","w",stdout))
        return 0;

    int n;
    cin>>n;
    while(getchar()!='\n');
    string str[n];

    char s[100];

    string out[n];
    int i=0;

    while(i<n){
        //getline(cin,str[i]);
        gets(s);
        if(kiemTraDx_C(s))
            out[i]="yes";
        else
            out[i]="no";
        i++;
    }
    i=0;
    while(i<n)
        cout<<endl<<out[i++];

    return 0;
}



int cau2(){
    if(!freopen("input.inp","r",stdin))
        return 0;
    if(!freopen("output.out","w",stdout))
        return 0;

    string str;
    getline(cin,str);
    string del;
    getline(cin,del);

    int pos=str.find(del);
    while(0<=pos) {
        str.erase(pos,del.length());
        pos=str.find(del);
    }
    cout<<endl<<str;

}


///Hàm đếm số lần xuất hiện của ký tự c trong chuỗi s
int countApp(string s, char c){
    int dem=0;
    int pos=s.find(c);
    while(pos>=0){
        dem++;
        pos=s.find(c,pos+1);
    }
    return dem;
}



int cau3(){
 if(!freopen("input.inp","r",stdin))
        return 0;
    if(!freopen("output.out","w",stdout))
        return 0;

    string s;
    getline(cin,s);

    int max=0;           //day la so lan xuat hien nhieu nhat cua  ky tu cMax

    string archive="";  //luu cac ky tu da dem roi
    int app;            //so lan xuat hien cua 1 ky tu

    for(int i=0;i<s.length();i++)
        if(archive.find(s[i])==-1){//neu chua tung kiem tra ky tu nay
            app=countApp(s,s[i]);
            if(app>max)
                max = app;

            //dem xong ta dua vao mang da dem roi
            archive.insert(archive.length(),1,s[i]);
        }

    for(int i=0;i<archive.length();i++)
        if(countApp(s,archive[i])==max)
            cout<<archive[i]<<endl;

}

int main()
{
    cau1();
    //cau2();
    //cau3();

    return 0;
}
